package ui.Frame;

import lombok.Data;
import nettyclient.ClientRegesterHandler;
import nettyclient.NettyInit;
import ui.AbstractFrame;
import util.FrameUtil;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * @author Hujf
 * @title: AdminFrame
 * @date 2021/2/16 0016下午 3:46
 * @description: TODO
 */
@Data
public class AdminFrame  extends AbstractFrame {
    public AdminFrame(){

    }
     public  AdminFrame(NettyInit nettyInit){
             this.nettyInit = nettyInit;
     }

    private NettyInit nettyInit;
    private String name;
    @Override
    public void frameInit(String name) {
        this.name = name;
        name_textfield = new JTextField();
        frame = new JFrame("chat客户端");
        // 设置名字
        // 设置默认关闭属性（程序结束）
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 设置窗口大小
        frame.setSize(500, 500);
        frame.setLayout(new BorderLayout());
        // 不允许用户改变窗口大小
        frame.setResizable(false);
        // 居中
        FrameUtil.setFrameCenter(frame);
        // 设置默认Panel
        JLabel  tabs = new JLabel("用户名:"+name);
        frame.add(tabs,BorderLayout.NORTH);

        //创建两个文本框和一个发送 一个清空按钮
        frame.add(InitText());


        // 设置边框显示
        frame.setUndecorated(false);
        frame.setVisible(true);
    }
    private Container container;
    public JTextArea jTextArea2;
    private Container InitText() {
        container = new Container();
        JTextArea jTextArea1 = new JTextArea();
        jTextArea1.setBounds(10,10,240,200);
        jTextArea2 = new JTextArea();
        jTextArea2.setBounds(260,10,240,200);
        jTextArea2.setEditable(false);
        container.add(jTextArea1,JTextArea.TOP_ALIGNMENT);
        container.add(jTextArea2,JTextArea.CENTER_ALIGNMENT);
        JButton jButton = new JButton("发送");
        jButton.addActionListener(e->{
            //得到文本内容 发送给另外一个jTextArea2 要通过netty传送
            String s =jTextArea1.getText()+"\n";
            //给服务器发送消息
            nettyInit.getSocketChannel().writeAndFlush(name+":"+s);
            jTextArea1.setText(null);
            //jTextArea2.setText(jTextArea2.getText()+s);

        });
        jButton.setBounds(10,350,60,18);

        JButton jButton2 = new JButton("清空");
        jButton2.addActionListener(e->{
            //得到文本内容 发送给另外一个jTextArea2
            jTextArea2.setText(null);
        });
        jButton2.setBounds(80,350,60,18);
        container.add(jButton);
        container.add(jButton2);

        return container;
    }

    @Override
    public String setjTextArea2(String s){
        jTextArea2.setText(s);
        return  s;
    }

    @Override
    public String getjTextArea2(){
        if(jTextArea2==null){
            return "";
        }
        return  jTextArea2.getText();
    }
}
